package Builder; import java.io.File; import java.io.IOException; import java.net.URL; import javax.media.opengl.GL2; import javax.media.opengl.GLException; import javax.media.opengl.glu.GLU; import Resource.ResourceManager; import Window.BrickViewer; import com.jogamp.opengl.util.texture.Texture; import com.jogamp.opengl.util.texture.TextureIO; public class ConnectivityRendererForBrickViewer { private BrickViewer brickViewer; private GLU glu; private Texture mTest; public ConnectivityRendererForBrickViewer(BrickViewer brickViewer) { this.brickViewer = brickViewer; glu = new GLU(); try { String path = "/Resource/Image/chain_exclamation.png"; URL url = ResourceManager.getInstance().getURL(path); if (url != null) { mTest = TextureIO.newTexture(url, true, null); } else { mTest = TextureIO.newTexture(new File( System.getProperty("user.dir")+ path), true); } } catch (GLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public void draw(GL2 gl2) { if(brickViewer.visiblePart()==null)return; if(brickViewer.visiblePart().isConnectivityInfoExist())return; gl2.glDisable(GL2.GL_TEXTURE_GEN_S); gl2.glDisable(GL2.GL_TEXTURE_GEN_T); gl2.glUseProgram(0); gl2.glColor3f(1f, 1f, 1f); gl2.glEnable(GL2.GL_TEXTURE_2D); gl2.glMatrixMode(GL2.GL_PROJECTION); gl2.glLoadIdentity(); glu.gluOrtho2D(0, 2000, 0, 2000); gl2.glMatrixMode(GL2.GL_MODELVIEW); gl2.glLoadIdentity(); mTest.enable(gl2); mTest.bind(gl2); gl2.glBegin(GL2.GL_QUADS); gl2.glNormal3f(0, 0, 1); gl2.glTexCoord2f(0.0f, 0.0f); gl2.glVertex2f(1700, 1700); gl2.glTexCoord2f(0, 1); gl2.glVertex2f(1700, 2000); gl2.glTexCoord2f(1, 1); gl2.glVertex2f(2000, 2000); gl2.glTexCoord2f(1, 0); gl2.glVertex2f(2000, 1700); gl2.glEnd(); gl2.glFlush(); mTest.disable(gl2); gl2.glDisable(GL2.GL_TEXTURE_2D); gl2.glEnable(GL2.GL_TEXTURE_GEN_S); gl2.glEnable(GL2.GL_TEXTURE_GEN_T); } }